Skip to content

SEP 10 -- 发布工具优化建议

Head

  • Author: larry
  • Status: active
  • Type: Informational
  • Created: 2017-11-07

摘要

优化建议。

灰度gray

gray与regray操作合并
    脚本自行判断,如果没有工程就是首次,有了就是重新灰度
内置默认灰度客户。如果没有传入灰度group就用默认的。
增加渐进灰度group功能
    参数1:需要增加的group列表。当前没有就增加,有就忽略,给个warning。如果group已经被别的分支灰度了就拒绝。
    参数2:需要剔除的group列表。有就删除,没有就忽略,给个warning。
group增加格式校验
    只能是数字,或者cms_key这种,根据工程判断。

全量release

release之前检查分支是否在master之上,不在的话不能继续。
release之后自动合并master。
如果有前端分支,提醒发布者等待前端合并完成后执行complete操作。
release后的当前分支不能是master分支。
release前校验,是否经过了gray。
release控制时段:除了fix版本,其他都必须在11.30到16:00之间。

清理clean

列出所有未使用的分支
清理:停服,目录移动到删除目录

回滚revert(优先级低)

修改操作需要快速回滚功能。
每个操作完成后,生成一个操作id(uuid),需要回滚的时候用这个id去回滚。
优先把release回滚做了,release只能回滚最后一次的。

操作人

命令行增加操作人选项,review人

操作日志

增加操作日志文件,记录所有操作

操作通知

所有修改类操作需要通知
通知内容:操作类型,操作人,review人,操作内容

锁机制

发布中增加文件锁。
不可多人同时交叉做修改操作。
release后不解锁,直到complete后才解锁。

灰度链与日志链

调整nginx配置,把web层和service层的request-id串起来。
改进RMIclient,使得cookie信息可以带到service层,完成灰度链条。

log中增加分支名

发布启动脚本增加环境变量,添加上分支名。

日志中读取环境变量,方便查问题。

观麦自己的pip库更新

编写文档,或者集成到发布工具中。